Enterprise software frequently makes use of data models representing business systems and/or processes. For example, a multi-dimensional data model can be used in an online sales system to provide detailed information about each product customer such as name, address, key dates, their roles in each sales process, purchase orders, etc.
Objects have properties (e.g. a description), include references to other objects, and can be represented by a file or a set of relational table entries, for example. Data models are typically structured in an enterprise software product as a core object with various extensions, i.e. relating to all represented industries, countries, languages, etc., and delivered or transported to a customer. However, each customer usually belongs to only one or two industries (or countries, language, etc.), and therefore only requires a small subset of the extensions. Yet, currently all of the extensions are activated at the customer along with each core object, and the customer is burdened with many extensions it neither uses nor needs. The customer must selectively deactivate non-relevant objects from all of the core objects and extensions of the delivered data models.
A highly-integrated data model includes product-specific attributes that are only used with a particular software product. The product attributes may themselves have attributes. When a customer, that does not use the particular software product, has to activate the product-specific attributes (and attributes of the product-specific attributes), errors in the attributes must still be resolved.
No separate transportation currently exists for extensions of the core objects or product-specific attributes. Thus, corrections to a core object will cause all corresponding extensions to be delivered to a customer. This also requires a central system in which to update the core objects and their extensions, so as to avoid different versions or overwriting of the core objects and the different extensions from different sources. Further, modifications to delivered objects by the customer are overwritten when delivery occurs again.
Therefore, an append concept is needed that allows certain core objects with extensions and additional attributes to be delivered and displayed to a customer, such that only the relevant extensions and attributes can be activated and used.